package com.niit

object ScalaDayOne {
  def main(args: Array[String]): Unit = {
    /*定义 val是不可变的,var是可变的
    * */
    var a = 1
    a=a+1
    println(a)

    val a1=1.1
    val a2="1111"
    val arr3=Array(1,2,3,4,5)
    val list4=List(1,2,3,4,5)
    val map5=Map(1->"小明",2->"小王")
    val tuple1=(1,"小李",1.1)//多种类型元素在一起的集合

    //控制语句 if for
    //if(a>2) println("a的值大于2") else println("a的值小于2")
    // println( if(a>2)  1)
    //for循坏 until 直到 不包含 右边界 10 不包含
    // to 1 到 10
    for(i<-1 until 10) println(i)

    for (elem <- arr3) {println(elem)}

    for (elem <- list4) {println(elem)}

    //map打印
    for (elem <- map5) { println(elem._1,elem._2)  }
    //tuple
    println(tuple1._1+tuple1._2+tuple1._3)
    //3函数,方法
    //遇见=>符号，基本上都是函数
    //驼峰式命名(项目名，类名或object名),小驼峰式命名(方法)
    def sayHello(name:String,age:Int):Unit={
      println("我的名字是:"+name+"我的年龄是"+age)
    }
   sayHello("小明",19)
    //匿名函数   函数式编程
   val a7=(name: String, age: Int)=>{println("我的名字是:" + name + "我的年龄是" + age)}
    a7("小米",20)

        val class1=new Animal(1,5)
        class1.sum()
    //伴生类   伴生对象    类和对象同一个名字

    //trait   类似于java 接口 interface
     val dog=new Dog()
     dog.tool()


    //spark 所有的代码 基本都是1行实现，写两行代码。基本不是好代码



  }

}
